home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_jvm.h" /*No:RUN_FEATURE_6.arguments*/ /*No:RUN_FEATURE_6.ucs_true*/ void r868routine_mapping_jvm(T868* C){ int _stack_level=0; int _idx=0; T0* _ct=NULL; T0* _rt=NULL; _ct=(((T868*)C))->_current_type/*4*/; r228push_target_as_target(((T228*)(oBC364jvm))); _stack_level=-((1)+(r228push_arguments(((T228*)(oBC364jvm))))); _rt=(((T868*)C))->_result_type/*24*/; /*IF*/if ((_rt)!=((void*)(NULL))) { _stack_level=(_stack_level)+(X291jvm_stack_space(_rt)); } /*FI*/_idx=r95idx_methodref(((T95*)(oBC364constant_pool)),(T0*)C); r355jvm_invoke(((T355*)(X291run_class(_ct))),_idx,_stack_level); } /*No:RUN_FEATURE_6.actuals_clients*/ T0* r868jvm_descriptor(T868* C){ T0* R=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496tmp_jvm_descriptor)))))->_count)=(0); /*]*/ /*[IRF3.4update_tmp_jvm_descriptor*/r868routine_update_tmp_jvm_descriptor(C); /*]*/ R=oBC496tmp_jvm_descriptor; return R; } T0*oBC364method_info=NULL; void r868method_info_start(T868* C){ int _flags=0; _flags=X291jvm_method_flags((((T868*)C))->_current_type/*4*/); r506start(((T506*)(oBC364method_info)),_flags,X776to_key((((T868*)C))->_name/*16*/),r868jvm_descriptor(C)); } /*No:RUN_FEATURE_6.ucs_in_computation*/ void r868routine_update_tmp_jvm_descriptor(T868* C){ T0* _rt=NULL; T0* _ct=NULL; r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\50'); _ct=(((T868*)C))->_current_type/*4*/; X291jvm_target_descriptor_in(_ct,oBC496tmp_jvm_descriptor); /*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) { r31jvm_descriptor_in(((T31*)((((T868*)C))->_arguments/*20*/)),oBC496tmp_jvm_descriptor); } /*FI*/_rt=(((T868*)C))->_result_type/*24*/; /*IF*/if ((_rt)==((void*)(NULL))) { r7append(((T7*)(oBC496tmp_jvm_descriptor)),((T0*)ms153_470)); } else { _rt=X291run_type(_rt); r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\51'); X291jvm_descriptor_in(_rt,oBC496tmp_jvm_descriptor); } /*FI*/} void r868make(T868* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r868run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r868initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r868std_compute_use_current(T868* C){ /*IF*/if (((((T868*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T868*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T868*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T868*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T868*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_use_current_state/*40*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_6.name*/ int r868arg_count(T868* C){ int R=0; /*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } void r868routine_afd_check(T868* C){ /*IF*/if (((((T868*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567afd_check(((T567*)((((T868*)C))->_require_assertion/*28*/))); } /*FI*//*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T868*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633afd_check(((T633*)((((T868*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*No:RUN_FEATURE_6.local_vars*/ /*No:RUN_FEATURE_6.base_feature*/ /*No:RUN_FEATURE_6.start_position*/ T0*oBC496tmp_jvm_descriptor=NULL; /*No:RUN_FEATURE_6.us_std_output*/ int r868jvm_max_locals(T868* C){ int R=0; R=X291jvm_stack_space((((T868*)C))->_current_type/*4*/); /*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T868*)C))->_arguments/*20*/)))); } /*FI*//*IF*/if (((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL))) { R=(R)+(r620jvm_stack_space(((T620*)((((T868*)C))->_local_vars/*48*/)))); } /*FI*//*IF*/if (((((T868*)C))->_result_type/*24*/)!=((void*)(NULL))) { R=(R)+(X291jvm_stack_space((((T868*)C))->_result_type/*24*/)); } /*FI*/return R; } int r868jvm_result_offset(T868* C){ int R=0; R=X291jvm_stack_space((((T868*)C))->_current_type/*4*/); /*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T868*)C))->_arguments/*20*/)))); } /*FI*//*IF*/if (((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL))) { R=(R)+(r620jvm_stack_space(((T620*)((((T868*)C))->_local_vars/*48*/)))); } /*FI*/return R; } /*No:RUN_FEATURE_6.ensure_assertion*/ int r868is_exported_in(T868* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r868clients(C))),a1); return R; } void r868jvm_define_opening(T868* C){ T0* _t=NULL; /*IF*/if (((((T868*)C))->_result_type/*24*/)!=((void*)(NULL))) { _t=X291run_type((((T868*)C))->_result_type/*24*/); X291jvm_initialize_local(_t,r868jvm_result_offset(C)); } /*FI*//*IF*/if (((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL))) { r620jvm_initialize(((T620*)((((T868*)C))->_local_vars/*48*/))); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_jvm_old(((T633*)((((T868*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567compile_to_jvm(((T567*)((((T868*)C))->_require_assertion/*28*/))); } /*FI*/} /*No:RUN_FEATURE_6.compute_use_current*/ /*No:RUN_FEATURE_6.result_type*/ /*No:RUN_FEATURE_6.jvm_field_or_method*/ int r868jvm_argument_offset(T868* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T868*)C))->_current_type/*4*/); R=(R)+(r31jvm_offset_of(((T31*)((((T868*)C))->_arguments/*20*/)),a1)); return R; } /*No:RUN_FEATURE_6.us_std_error*/ /*No:RUN_FEATURE_6.is_static*/ T0*oBC364once_routine_pool=NULL; void r868add_client(T868* C,T0* a1){ int _i=0; /*IF*/if (((((T868*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T868*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r868run_class(C))),a1); } T0*oBC364constant_pool=NULL; /*No:RUN_FEATURE_6.require_assertion*/ /*No:RUN_FEATURE_6.use_current_state*/ int r868can_be_dropped(T868* C){ int R=0; /*IF*/if (r868is_pre_computable(C)) { R=1; } /*FI*/return R; } void r868jvm_define_closing(T868* C){ /*IF*/if (r868use_current(C)) { } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_jvm(((T633*)((((T868*)C))->_ensure_assertion/*36*/)),1); } /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_result_type/*24*/)!=((void*)(NULL))) { X291jvm_push_local((((T868*)C))->_result_type/*24*/,r868jvm_result_offset(C)); } /*FI*/} /*No:RUN_FEATURE_6.mapping_jvm*/ /*No:RUN_FEATURE_6.current_type*/ T0* r868run_class(T868* C){ T0* R=NULL; R=X291run_class((((T868*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_6.static_value_mem*/ /*No:RUN_FEATURE_6.fz_19*/ /*No:RUN_FEATURE_6.ucs_not_computed*/ void r868fall_down(T868* C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=X291run_class((((T868*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T868*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T868*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_6.routine_body*/ /*No:RUN_FEATURE_6.us_io*/ /*No:RUN_FEATURE_6.ucs_false*/ int r868is_pre_computable(T868* C){ int R=0; /*IF*/if (r52fast_has(((T52*)(oBC868frozen_general)),X776to_string((((T868*)C))->_name/*16*/))) { R=1; } else if ((((((T868*)C))->_arguments/*20*/)==((void*)(NULL)))&&(!(r868use_current(C)))) { /*IF*/if (((((T868*)C))->_routine_body/*32*/)==((void*)(NULL))) { R=1; } else if (!(r590invariant_check(((T590*)(oBC364run_control))))) { R=r592is_pre_computable(((T592*)((((T868*)C))->_routine_body/*32*/))); } /*FI*/} /*FI*/return R; } T0* r868clients(T868* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T868*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T868*)C))->_current_type/*4*/); _bfbc=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_clients/*24*/; } else { R=r605clients_for(((T605*)_bc),(((T868*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T868*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r868use_current(T868* C){ int R=0; {int z1=(((T868*)C))->_use_current_state/*40*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; /*[IRF3.4compute_use_current*/r868std_compute_use_current(C); /*]*/ R=r868use_current(C); } else {R=1; }} return R; } void r868jvm_define(T868* C){ int _idx_result=0; int _idx_flag=0; int _branch=0; int _result_space=0; _idx_result=r916idx_fieldref_for_result((T0*)C); _idx_flag=r916idx_fieldref_for_flag((T0*)C); _result_space=X291jvm_stack_space((((T868*)C))->_result_type/*24*/); r868method_info_start(C); r256opcode_getstatic(((T256*)(oBC364code_attribute)),_idx_flag,1); _branch=r256opcode_ifne(((T256*)(oBC364code_attribute))); /*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)(oBC364code_attribute)),4,1); /*]*/ r256opcode_putstatic(((T256*)(oBC364code_attribute)),_idx_flag,-(1)); r868jvm_define_opening(C); /*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592compile_to_jvm(((T592*)((((T868*)C))->_routine_body/*32*/))); } /*FI*/r868jvm_define_closing(C); r256opcode_putstatic(((T256*)(oBC364code_attribute)),_idx_result,-(_result_space)); r256resolve_u2_branch(_branch); r256opcode_getstatic(((T256*)(oBC364code_attribute)),_idx_result,_result_space); X291jvm_return_code(X291run_type((((T868*)C))->_result_type/*24*/)); r506finish(((T506*)(oBC364method_info))); } int r868jvm_local_variable_offset(T868* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T868*)C))->_current_type/*4*/); /*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T868*)C))->_arguments/*20*/)))); } /*FI*/R=(R)+(r620jvm_offset_of(((T620*)((((T868*)C))->_local_vars/*48*/)),a1)); return R; } /*No:RUN_FEATURE_6.fatal_error*/ /*No:RUN_FEATURE_6.clients_memory*/ void r868initialize(T868* C){ C->_arguments=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_arguments/*28*/; /*IF*/if ((((((T868*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_arguments=r31to_runnable(((T31*)((((T868*)C))->_arguments/*20*/)),(((T868*)C))->_current_type/*4*/); } /*FI*/C->_result_type=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_result_type/*12*/; /*IF*/if (X291is_anchored((((T868*)C))->_result_type/*24*/)) { r683add_position(X291start_position((((T868*)C))->_result_type/*24*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms7_868); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (X291is_formal_generic((((T868*)C))->_result_type/*24*/)) { r683add_position(X291start_position((((T868*)C))->_result_type/*24*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_868); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_result_type=X291to_runnable((((T868*)C))->_result_type/*24*/,(((T868*)C))->_current_type/*4*/); C->_local_vars=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_local_vars/*20*/; /*IF*/if ((((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T868*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_local_vars=r620to_runnable(((T620*)((((T868*)C))->_local_vars/*48*/)),(((T868*)C))->_current_type/*4*/); } /*FI*/C->_routine_body=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_routine_body/*52*/; /*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { C->_routine_body=r592to_runnable(((T592*)((((T868*)C))->_routine_body/*32*/)),(((T868*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { C->_require_assertion=r844run_require((T0*)C); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r844run_ensure((T0*)C); } /*FI*/r916add_function((T0*)C); } T0*oBC868frozen_general=NULL; /*No:RUN_FEATURE_6.us_std_input*/ /*No:RUN_FEATURE_6.afd_check*/ /*No:RUN_FEATURE_6.update_tmp_jvm_descriptor*/ int r916idx_name_for_flag(T0* a1){ int R=0; r916prepare_flag(a1); R=r95idx_uft8(((T95*)(oBC364constant_pool)),oBC916flag_string); return R; } void r916add_function(T0* a1){ r222add_last(((T222*)(oBC916function_list)),a1); } int r916idx_descriptor(T0* a1){ int R=0; r916prepare_descriptor(a1); R=r95idx_uft8(((T95*)(oBC364constant_pool)),oBC916descriptor_string); return R; } T0*oBC916result_string=NULL; /*No:ONCE_ROUTINE_POOL.fields_count*/ int fBC364jvm_root_class=0; T0*oBC364jvm_root_class=NULL; T0* r916jvm_root_class(void){ if (fBC364jvm_root_class==0){ T0* R=NULL; fBC364jvm_root_class=1; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,12); R=(T0*)n; } r7copy(((T7*)R),(((T228*)((T228*)(oBC364jvm))))->_output_name/*16*/); r7extend(((T7*)R),'\57'); r7append(((T7*)R),((T0*)ms112_470)); oBC364jvm_root_class=R;} return oBC364jvm_root_class;} int r916idx_fieldref_for_result(T0* a1){ int R=0; r916prepare_result((((T868*)((T868*)a1)))->_base_feature/*44*/); r916prepare_descriptor(X291run_type((((T868*)((T868*)a1)))->_result_type/*24*/)); R=r95idx_fieldref3(((T95*)(oBC364constant_pool)),r916jvm_root_class(),oBC916result_string,oBC916descriptor_string); return R; } void r916prepare_result(T0* a1){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC916result_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC916result_string)),'r'); r2append_in((((T605*)((T605*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_base_class/*4*/)))))->_id/*0*/,oBC916result_string); r7append(((T7*)(oBC916result_string)),X776to_key(/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)a1)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/))); } int r916idx_name_for_result(T0* a1){ int R=0; r916prepare_result(a1); R=r95idx_uft8(((T95*)(oBC364constant_pool)),oBC916result_string); return R; } void r916prepare_descriptor(T0* a1){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC916descriptor_string)))))->_count)=(0); /*]*/ /*IF*/if (X291is_reference(a1)) { r7append(((T7*)(oBC916descriptor_string)),r916jvm_root_descriptor()); } else { X291jvm_descriptor_in(a1,oBC916descriptor_string); } /*FI*/} int r916idx_fieldref_for_flag(T0* a1){ int R=0; r916prepare_flag(X496base_feature(a1)); R=r95idx_fieldref3(((T95*)(oBC364constant_pool)),r916jvm_root_class(),oBC916flag_string,((T0*)ms173_470)); return R; } T0*oBC364field_info=NULL; /*No:ONCE_ROUTINE_POOL.fz_41*/ /*No:ONCE_ROUTINE_POOL.jvm_initialize_fields*/ T0*oBC916descriptor_string=NULL; int fBC364jvm_root_descriptor=0; T0*oBC364jvm_root_descriptor=NULL; T0* r916jvm_root_descriptor(void){ if (fBC364jvm_root_descriptor==0){ T0* R=NULL; fBC364jvm_root_descriptor=1; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,12); R=(T0*)n; } r7extend(((T7*)R),'L'); r7append(((T7*)R),r916jvm_root_class()); r7extend(((T7*)R),'\73'); oBC364jvm_root_descriptor=R;} return oBC364jvm_root_descriptor;} T0*oBC916function_list=NULL; void r916jvm_define_fields(T916* C){ T0* _name_list=NULL; T0* _bf=NULL; T0* _rf6=NULL; T0* _rf5=NULL; int _i=0; int _idx_flag=0; int _byte_idx=0; {T226*n=malloc(sizeof(*n)); *n=M226; r226with_capacity(n,(((T916*)C))->_fields_count/*0*/); _name_list=(T0*)n; } /*IF*/if ((/*(IRF4.6count*/((((T222*)((T222*)(oBC916function_list))))->_upper/*12*/)+(1)/*)*/)>(0)) { _i=(((T222*)((T222*)(oBC916function_list))))->_upper/*12*/; _byte_idx=r95idx_uft8(((T95*)(oBC364constant_pool)),((T0*)ms173_470)); while (!((_i)<(0))) { _rf6=/*(IRF4.6item*/((((T222*)((T222*)(oBC916function_list))))->_storage/*4*/)[_i]/*)*/; _bf=(((T868*)((T868*)_rf6)))->_base_feature/*44*/; _idx_flag=r916idx_name_for_flag(_bf); /*IF*/if (r226fast_has(((T226*)_name_list),_idx_flag)) { } else { r226add_last(((T226*)_name_list),_idx_flag); r543add(((T543*)(oBC364field_info)),9,_idx_flag,_byte_idx); r543add(((T543*)(oBC364field_info)),9,r916idx_name_for_result(_bf),r916idx_descriptor(X291run_type((((T868*)((T868*)_rf6)))->_result_type/*24*/))); } /*FI*/_i=(_i)-(1); } } /*FI*//*IF*/if ((/*(IRF4.6count*/((((T185*)((T185*)(oBC916procedure_list))))->_upper/*12*/)+(1)/*)*/)>(0)) { _i=(((T185*)((T185*)(oBC916procedure_list))))->_upper/*12*/; _byte_idx=r95idx_uft8(((T95*)(oBC364constant_pool)),((T0*)ms173_470)); while (!((_i)<(0))) { _rf5=/*(IRF4.6item*/((((T185*)((T185*)(oBC916procedure_list))))->_storage/*4*/)[_i]/*)*/; _bf=(((T869*)((T869*)_rf5)))->_base_feature/*44*/; _idx_flag=r916idx_name_for_flag(_bf); /*IF*/if (r226fast_has(((T226*)_name_list),_idx_flag)) { } else { r226add_last(((T226*)_name_list),_idx_flag); r543add(((T543*)(oBC364field_info)),9,_idx_flag,_byte_idx); } /*FI*/_i=(_i)-(1); } } /*FI*/} /*No:ONCE_ROUTINE_POOL.fz_jvm_root*/ void r916prepare_flag(T0* a1){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC916flag_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC916flag_string)),'f'); r2append_in((((T605*)((T605*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_base_class/*4*/)))))->_id/*0*/,oBC916flag_string); r7append(((T7*)(oBC916flag_string)),X776to_key(/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)a1)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/))); } T0*oBC916flag_list=NULL; T0*oBC916flag_string=NULL; void r916add_procedure(T0* a1){ r185add_last(((T185*)(oBC916procedure_list)),a1); } T0*oBC916procedure_list=NULL; /*No:CST_ATT_STRING.arguments*/ T0* r380try_to_undefine(T380* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r380try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T380*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_STRING.is_deferred*/ void r380add_into(T380* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } T0* r380try_to_undefine_aux(T380* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r380start_position(C)); r380error(X776start_position(a1),((T0*)ms1_321)); r605fatal_undefine(((T605*)a2),a1); return R; } void r380make(T380* C,T0* a1,T0* a2,T0* a3){ T0* _ms=NULL; int _i=0; r380make_e_feature(C,a1,a2); {T381*n=malloc(sizeof(*n)); *n=M381; r381make(n,1,/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/); C->_values=(T0*)n; } /*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/)); T0* b1=a3; int b2=1; ((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=2; while (!((_i)>((((T381*)((T381*)((((T380*)C))->_values/*24*/))))->_upper/*12*/))) { {T805*n=malloc(sizeof(*n)); *n=M805; r805from_manifest_string(n,a3,_i); _ms=(T0*)n; } /*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/)); T0* b1=_ms; int b2=_i; ((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=(_i)+(1); } } /*No:CST_ATT_STRING.nb_errors*/ /*No:CST_ATT_STRING.set_header_comment*/ /*No:CST_ATT_STRING.values*/ T0* r380start_position(T380* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r380to_run_feature(T380* C,T0* a1,T0* a2){ T0* R=NULL; T0* _rc=NULL; _rc=X291run_class(a1); R=r355at(((T355*)_rc),a2); if(NULL!=(R))switch(((T0*)R)->id) { case 808: break; default: R=NULL; };/*IF*/if ((R)==((void*)(NULL))) { {T808*n=malloc(sizeof(*n)); *n=M808; r808make(n,a1,a2,(T0*)C); R=(T0*)n; } } /*FI*/return R; } /*No:CST_ATT_STRING.ensure_assertion*/ /*No:CST_ATT_STRING.code_require*/ /*No:CST_ATT_STRING.result_type*/ /*No:CST_ATT_STRING.em1*/ /*No:CST_ATT_STRING.set_clients*/ /*No:CST_ATT_STRING.em2*/ /*No:CST_ATT_STRING.value*/ /*No:CST_ATT_STRING.require_assertion*/ /*No:CST_ATT_STRING.names*/ int r380can_hide(T380* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r380error(r380start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r380error(r380start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T380*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_STRING.header_comment*/ int r380is_merge_with(T380* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r380error(r380start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r380error(r380start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T380*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_STRING.fz_dot*/ /*No:CST_ATT_STRING.first_name*/ /*No:CST_ATT_STRING.clients*/ void r380collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r380error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_STRING.base_class*/ void r380make_e_feature(T380* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:CST_ATT_BIT.arguments*/ T0* r588try_to_undefine(T588* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r588try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T588*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_BIT.is_deferred*/ void r588add_into(T588* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } T0* r588try_to_undefine_aux(T588* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r588start_position(C)); r588error(X776start_position(a1),((T0*)ms1_321)); r605fatal_undefine(((T605*)a2),a1); return R; } void r588make(T588* C,T0* a1,T0* a2,T0* a3){ r588make_e_feature(C,a1,a2); C->_value_mem=a3; } /*No:CST_ATT_BIT.nb_errors*/ /*No:CST_ATT_BIT.set_header_comment*/ T0* r588start_position(T588* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r588to_run_feature(T588* C,T0* a1,T0* a2){ T0* R=NULL; T0* _rc=NULL; _rc=X291run_class(a1); R=r355at(((T355*)_rc),a2); if(NULL!=(R))switch(((T0*)R)->id) { case 808: break; default: R=NULL; };/*IF*/if ((R)==((void*)(NULL))) { {T808*n=malloc(sizeof(*n)); *n=M808; r808make(n,a1,a2,(T0*)C); R=(T0*)n; } } /*FI*/return R; } /*No:CST_ATT_BIT.ensure_assertion*/ /*No:CST_ATT_BIT.code_require*/ /*No:CST_ATT_BIT.result_type*/ /*No:CST_ATT_BIT.em1*/ /*No:CST_ATT_BIT.set_clients*/ /*No:CST_ATT_BIT.em2*/ /*No:CST_ATT_BIT.value*/ /*No:CST_ATT_BIT.require_assertion*/ /*No:CST_ATT_BIT.names*/ /*No:CST_ATT_BIT.value_mem*/ int r588can_hide(T588* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T588*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r588error(r588start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r588error(r588start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T588*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_BIT.header_comment*/ int r588is_merge_with(T588* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T588*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r588error(r588start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r588error(r588start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T588*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_BIT.fz_dot*/ /*No:CST_ATT_BIT.first_name*/ /*No:CST_ATT_BIT.clients*/ void r588collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r588error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_BIT.base_class*/ void r588make_e_feature(T588* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:JVM.dos_system*/ T0*oBC861stack_cpc=NULL; /*No:JVM.fz_system_se*/ /*No:JVM.fz_sys*/ /*No:JVM.C_switch*/ void r228write_main_class(T228* C,T0* a1){ T0* _ca=NULL; T0* _cp=NULL; int _idx=0; _cp=oBC364constant_pool; _ca=oBC364code_attribute; r7copy(((T7*)(oBC228out_file_path)),(((T228*)C))->_output_name/*16*/); r7append(((T7*)(oBC228out_file_path)),((T0*)ms40_364)); r228bfw_connect(C,oBC228out_file,oBC228out_file_path); r228start_basic(C); C->_access_flags=16; C->_this_class_idx=r95idx_class2(((T95*)_cp),(((T228*)C))->_output_name/*16*/); C->_super_class_idx=(((T95*)((T95*)_cp)))->_idx_java_lang_object/*8*/; C->_current_frame=NULL; r506start(((T506*)(oBC364method_info)),9,((T0*)ms114_470),((T0*)ms155_470)); /*[IRF3.2set_args_field*/{T0* _ca=NULL; _ca=oBC364code_attribute; /*[IRF3.4opcode_aload_0*/r256opcode(((T256*)_ca),42,1); /*]*/ r256opcode_putstatic(((T256*)_ca),r228args_field_idx(),-(1)); }/*]*/ _idx=r95idx_methodref3(((T95*)_cp),r228jvm_root_class(),((T0*)ms160_470),((T0*)ms161_470)); r256opcode_invokestatic(((T256*)_ca),_idx,0); r355jvm_push_default(((T355*)(r832run_class(((T832*)a1))))); _idx=r95idx_methodref(((T95*)_cp),a1); r256opcode_invokevirtual(((T256*)_ca),_idx,-(1)); r256opcode_system_out(((T256*)_ca)); _idx=r95idx_methodref3(((T95*)_cp),((T0*)ms157_470),((T0*)ms174_470),((T0*)ms161_470)); r256opcode_invokevirtual(((T256*)_ca),_idx,-(1)); r256opcode_system_err(((T256*)_ca)); r256opcode_invokevirtual(((T256*)_ca),_idx,-(1)); /*[IRF3.2opcode_return*//*[IRF3.6add_u1*/{int b1=177; r226add_last(((T226*)(oBC256code)),b1); }/*]*/ /*]*/ r506finish(((T506*)(oBC364method_info))); r228finish_class(C); } void r228finish_class(T228* C){ /*[IRF3.6put_magic*/{T228* C1=C; r228b_put_byte_string(C1,((T0*)ms4_228)); }/*]*/ /*[IRF3.4put_minor_version*/r228b_put_u2(C,3); /*]*/ /*[IRF3.6put_major_version*/{T228* C1=C; r228b_put_byte_string(C1,((T0*)ms5_228)); }/*]*/ r95write_bytes(((T95*)(oBC364constant_pool))); r228b_put_u2(C,(((T228*)C))->_access_flags/*24*/); r228b_put_u2(C,(((T228*)C))->_this_class_idx/*28*/); r228b_put_u2(C,(((T228*)C))->_super_class_idx/*32*/); r228b_put_u2(C,0); r543write_bytes(((T543*)(oBC364field_info))); r506write_bytes(((T506*)(oBC364method_info))); r228b_put_u2(C,0); r994disconnect(((T994*)(oBC228out_file))); r306print_count(((T306*)(oBC364echo)),((T0*)ms3_228),(((T228*)C))->_b_put_u1_count/*20*/); } void r228add_field(T0* a1){ X308add_last(oBC228fields,a1); } /*No:JVM.C_expanded_initialize*/ /*No:JVM.prepare_fields*/ /*No:JVM.push_se_argc*/ /*No:JVM.us_generator*/ int r228max_locals(T228* C){ int R=0; /*IF*/if (((((T228*)C))->_current_frame/*36*/)!=((void*)(NULL))) { R=X496jvm_max_locals((((T228*)C))->_current_frame/*36*/); } else { R=4; } /*FI*/return R; } /*No:JVM.access_flags*/ /*No:JVM.unix_system*/ int r228local_offset_of(T228* C,T0* a1){ int R=0; R=X496jvm_local_variable_offset((((T228*)C))->_current_frame/*36*/,a1); return R; } /*No:JVM.exit_failure_code*/ /*No:JVM.current_frame*/ /*No:JVM.vms_system*/ void r228start_directory(T228* C,T0* a1,T0* a2){ /*[IRF3.3clear*/((((T7*)(((T7*)a1))))->_count)=(0); /*]*/ /*IF*/if ((((T0*)ms17_364))==((void*)(r228system_name(C)))) { r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms19_364))==((void*)(r228system_name(C)))) { r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms15_364))==((void*)(r228system_name(C)))) { r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\72'); } else if ((((T0*)ms14_364))==((void*)(r228system_name(C)))) { r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms16_364))==((void*)(r228system_name(C)))) { r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms13_364))==((void*)(r228system_name(C)))) { r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms18_364))==((void*)(r228system_name(C)))) { r7set_last(((T7*)a1),'\133'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\135'); } /*FI*/} T576 oBC364switch_collection=0; void r228start_new_class(T228* C,T0* a1){ T0* _cp=NULL; int _type_idx=0; int _name_idx=0; _cp=oBC364constant_pool; r228start_basic(C); r7copy(((T7*)(oBC228tmp_string)),r355unqualified_name(((T355*)a1))); r7to_lower(((T7*)(oBC228tmp_string))); r228start_directory(C,oBC228out_file_path,(((T228*)C))->_output_name/*16*/); r7append(((T7*)(oBC228out_file_path)),oBC228tmp_string); r7append(((T7*)(oBC228out_file_path)),((T0*)ms40_364)); r228bfw_connect(C,oBC228out_file,oBC228out_file_path); C->_access_flags=16; C->_this_class_idx=r355fully_qualified_constant_pool_index(((T355*)a1)); C->_super_class_idx=(((T95*)((T95*)_cp)))->_idx_jvm_root_class/*12*/; r506start(((T506*)(oBC364method_info)),9,((T0*)ms202_470),((T0*)ms161_470)); _name_idx=r95idx_uft8(((T95*)_cp),((T0*)ms78_473)); _type_idx=r95idx_eiffel_string_descriptor(((T95*)_cp)); r543add(((T543*)(oBC364field_info)),9,_name_idx,_type_idx); _name_idx=r95idx_fieldref5(((T95*)_cp),(((T228*)C))->_this_class_idx/*28*/,_name_idx,_type_idx); /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)(oBC364code_attribute)),1,1); /*]*/ r256opcode_putstatic(((T256*)(oBC364code_attribute)),_name_idx,-(1)); _name_idx=r95idx_uft8(((T95*)_cp),((T0*)ms79_473)); r543add(((T543*)(oBC364field_info)),9,_name_idx,_type_idx); _name_idx=r95idx_fieldref5(((T95*)_cp),(((T228*)C))->_this_class_idx/*28*/,_name_idx,_type_idx); /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)(oBC364code_attribute)),1,1); /*]*/ r256opcode_putstatic(((T256*)(oBC364code_attribute)),_name_idx,-(1)); /*[IRF3.2opcode_return*//*[IRF3.6add_u1*/{int b1=177; r226add_last(((T226*)(oBC256code)),b1); }/*]*/ /*]*/ r506finish(((T506*)(oBC364method_info))); r355jvm_define_class_invariant(((T355*)a1)); } /*No:JVM.C_inside_new*/ void r228add_method(T0* a1){ X308add_last(oBC228methods,a1); } T0* r228small_eiffel_directory(T228* C){ if (fBC364small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; fBC364small_eiffel_directory=1; R=r228get_environment_variable(C,((T0*)ms121_470)); /*IF*/if ((R)==((void*)(NULL))) { R=r7twin(((T7*)(((T0*)ms121_470)))); r7to_upper(((T7*)R)); R=r228get_environment_variable(C,R); /*IF*/if ((R)!=((void*)(NULL))) { r7to_upper(((T7*)(((T0*)ms121_470)))); } /*FI*/} /*FI*//*IF*/if ((R)==((void*)(NULL))) { R=((T0*)ms1_364); } /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/; while (!((_i)<(0))) { _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { r7extend(((T7*)R),'\57'); } else if (!((r7last(((T7*)R)))==(_slash))) { r7extend(((T7*)R),_slash); } /*FI*/oBC364small_eiffel_directory=R;} return oBC364small_eiffel_directory;} T0*oBC861stack_rf=NULL; int r228idx_void_target(T0* a1){ int R=0; T0* _sp=NULL; r7copy(((T7*)(oBC228tmp_string)),((T0*)ms12_228)); _sp=X662start_position(a1); /*IF*/if ((_sp)!=((void*)(NULL))) { r627append_in(((T627*)_sp),oBC228tmp_string); } /*FI*/R=r95idx_string(((T95*)(oBC364constant_pool)),oBC228tmp_string); return R; } void r228opcode_check_id_for(T0* a1){ T0* _ca=NULL; T0* _rc=NULL; int _idx=0; int _point2=0; int _point1=0; X662compile_to_jvm(a1); /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { _ca=oBC364code_attribute; /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1); /*]*/ _point1=r256opcode_ifnull(((T256*)_ca)); /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1); /*]*/ _rc=r396first(((T396*)((((T355*)((T355*)(X291run_class(X662result_type(a1))))))->_running/*12*/))); _idx=r355fully_qualified_constant_pool_index(((T355*)_rc)); r256opcode_instanceof(((T256*)_ca),_idx); _point2=r256opcode_ifne(((T256*)_ca)); _idx=r228idx_bad_target(a1); r256opcode_system_err_println(((T256*)_ca),_idx); /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)_ca),1,1); /*]*/ /*[IRF3.4opcode_athrow*/r256opcode(((T256*)_ca),191,0); /*]*/ r256resolve_u2_branch(_point1); _idx=r228idx_void_target(a1); r256opcode_system_err_println(((T256*)_ca),_idx); /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)_ca),1,1); /*]*/ /*[IRF3.4opcode_athrow*/r256opcode(((T256*)_ca),191,0); /*]*/ r256resolve_u2_branch(_point2); r355jvm_check_class_invariant(((T355*)_rc)); } /*FI*/} /*No:JVM.amiga_system*/ /*No:JVM.make*/ T0*oBC228fields=NULL; T0* r228jvm_root_class(void){ if (fBC364jvm_root_class==0){ T0* R=NULL; fBC364jvm_root_class=1; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,12); R=(T0*)n; } r7copy(((T7*)R),(((T228*)((T228*)(oBC364jvm))))->_output_name/*16*/); r7extend(((T7*)R),'\57'); r7append(((T7*)R),((T0*)ms112_470)); oBC364jvm_root_class=R;} return oBC364jvm_root_class;} /*No:JVM.this_class_idx*/ /*No:JVM.set_args_field*/ void r228b_put_u1(T228* C,char a1){ /*[IRF3.6put_byte*/{T994* C1=((T994*)(oBC228out_file)); char b1=a1; fputc(b1,C1->_output_stream);}/*]*/ C->_b_put_u1_count=((((T228*)C))->_b_put_u1_count/*20*/)+(1); } int r228argument_offset_of(T228* C,T0* a1){ int R=0; R=X496jvm_argument_offset((((T228*)C))->_current_frame/*36*/,a1); return R; } void r228drop_ith_argument(T228* C,int a1){ int _space=0; _space=r228push_ith_argument(C,a1); while (!((_space)==(0))) { /*[IRF3.4opcode_pop*/r256opcode(((T256*)(oBC364code_attribute)),87,-(1)); /*]*/ _space=(_space)-(1); } } T0*oBC228methods=NULL; void r228b_put_u2(T228* C,int a1){ r228b_put_u1(C,((char)((a1)/(256)))); r228b_put_u1(C,((char)((a1)%(256)))); } void r228prepare_methods(T228* C){ int _i=0; _i=/*X308*/((int)(((T308*)((T308*)(oBC228methods))))->_upper/*12*/); while (!((_i)<(0))) { /*[IRF3.3set_current_frame*/((((T228*)(C)))->_current_frame)=(/*X308*/((T0*)r308item(((T308*)(oBC228methods)),_i))); /*]*/ X496jvm_define((((T228*)C))->_current_frame/*36*/); _i=(_i)-(1); } } /*No:JVM.set_current_frame*/ /*No:JVM.put_major_version*/ /*No:JVM.static_expression_count*/ /*No:JVM.fz_invariant*/ /*No:JVM.set_output_name*/ /*No:JVM.windows_system*/ T0*oBC228out_file=NULL; void r228inside_twin(T228* C,T0* a1){ r228stack_push(C,1015); /*X308*//*[IRF3.6put*/{T308* C1=((T308*)(oBC861stack_rf)); T0* b1=a1; int b2=(((T228*)C))->_top/*4*/; ((((T308*)C1))->_storage/*4*/)[b2]=(b1); }/*]*/ X496mapping_jvm(a1); r228pop(C); } int r228push_ith_argument(T228* C,int a1){ int R=0; T0* _fal=NULL; T0* _dyn_rf=NULL; T0* _rf=NULL; T0* _eal=NULL; T0* _cpc=NULL; int _code=0; _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; {int z1=_code; if(((1007<=z1)&&(z1<=1008))){ _cpc=/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; _eal=X135arguments(_cpc); /*IF*/if ((_eal)!=((void*)(NULL))) { _rf=X135run_feature(_cpc); _fal=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/); R=r431compile_to_jvm_ith(((T431*)_eal),_fal,a1); } /*FI*/} else if((1009==z1)){ _rf=/*X308*/((T0*)r308item(((T308*)(oBC861stack_static_rf)),(((T228*)C))->_top/*4*/)); _dyn_rf=/*X308*/((T0*)r308item(((T308*)(oBC861stack_rf)),(((T228*)C))->_top/*4*/)); _fal=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/); /*IF*/if ((_fal)!=((void*)(NULL))) { R=r31jvm_switch_push_ith(((T31*)_fal),/*X496*/((T0*)(((T832*)((T832*)_dyn_rf)))->_arguments/*20*/),a1); } /*FI*/} else if((1011==z1)){ } else if((1010==z1)){ _cpc=/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; _eal=X135arguments(_cpc); /*IF*/if ((_eal)!=((void*)(NULL))) { _rf=/*X308*/((T0*)r308item(((T308*)(oBC861stack_rf)),(((T228*)C))->_top/*4*/)); _fal=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/); R=r431compile_to_jvm_ith(((T431*)_eal),_fal,a1); } /*FI*/} else if((1015==z1)){ /*[IRF3.4opcode_aload_0*/r256opcode(((T256*)(oBC364code_attribute)),42,1); /*]*/ R=1; } else{/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms10_228); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ }} return R; } int r228result_offset(T228* C){ int R=0; R=X496jvm_result_offset((((T228*)C))->_current_frame/*36*/); return R; } T0*oBC861stack_code=NULL; /*No:JVM.put_minor_version*/ void r228push_expanded_initialize(T228* C,T0* a1){ r228stack_push(C,1011); /*X308*//*[IRF3.6put*/{T308* C1=((T308*)(oBC861stack_rf)); T0* b1=a1; int b2=(((T228*)C))->_top/*4*/; ((((T308*)C1))->_storage/*4*/)[b2]=(b1); }/*]*/ } T0*oBC861stack_static_rf=NULL; void r228define_class_invariant_method(T228* C,T0* a1){ T0* _cp=NULL; T0* _ca=NULL; _ca=oBC364code_attribute; _cp=oBC364constant_pool; r506start(((T506*)(oBC364method_info)),17,((T0*)ms26_470),((T0*)ms161_470)); r228stack_push(C,1009); r699compile_to_jvm(((T699*)a1),1); r228pop(C); /*[IRF3.2opcode_return*//*[IRF3.6add_u1*/{int b1=177; r226add_last(((T226*)(oBC256code)),b1); }/*]*/ /*]*/ r506finish(((T506*)(oBC364method_info))); } T0* r228get_environment_variable(T228* C,T0* a1){ T0* R=NULL; void* _p=0; _p=r7to_external(((T7*)a1)); R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p)); return R; } T0* r228target_position(T228* C){ T0* R=NULL; int _code=0; _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; {int z1=_code; if(((1007<=z1)&&(z1<=1008))){ R=X135start_position(/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/); } else if((1015==z1)){ } else if((1009==z1)){ } else if((1011==z1)){ } else if((1010==z1)){ R=X135start_position(/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/); } } return R; } /*No:JVM.switch_count*/ /*No:JVM.super_class_idx*/ void r228stack_push(T228* C,int a1){ int _new_size=0; C->_top=((((T228*)C))->_top/*4*/)+(1); /*IF*/if (((((T228*)C))->_top/*4*/)>((((T226*)((T226*)(oBC861stack_code))))->_upper/*8*/)) { _new_size=((((T226*)((T226*)(oBC861stack_code))))->_upper/*8*/)*(2); r226resize(((T226*)(oBC861stack_code)),_new_size); X308resize(oBC861stack_rf,_new_size); X32resize(oBC861stack_target,_new_size); r374resize(((T374*)(oBC861stack_args)),_new_size); X308resize(oBC861stack_static_rf,_new_size); r569resize(((T569*)(oBC861stack_cpc)),_new_size); /*IF*/if ((_new_size)>(2048)) { r228stack_overflow(C); } /*FI*/} /*FI*//*[IRF3.5put*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]=(a1); /*]*/ } /*No:JVM.fz_41*/ void r228bfw_connect(T228* C,T0* a1,T0* a2){ r994connect_to(((T994*)a1),a2); /*IF*/if (/*(IRF4.7is_connected*/((((T994*)((T994*)a1)))->_path/*0*/)!=(NULL)/*)*/) { r306put_string(((T306*)(oBC364echo)),((T0*)ms9_364)); r306put_string(((T306*)(oBC364echo)),a2); r306put_string(((T306*)(oBC364echo)),((T0*)ms10_364)); } else { r306w_put_string(((T0*)ms11_364)); r306w_put_string(a2); r306w_put_string(((T0*)ms242_470)); exit(1); } /*FI*/} /*No:JVM.fz_23*/ T0* r228system_name(T228* C){ if (fBC364system_name==0){ T0* R=NULL; int _i=0; fBC364system_name=1; r7copy(((T7*)(oBC364tmp_path)),r228small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) { r7set_last(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r228small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) { r7set_last(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r228small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) { r7set_last(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r228small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) { r7set_last(((T7*)(oBC364tmp_path)),'\135'); r7remove_last(((T7*)(oBC364tmp_path)),1); r7extend(((T7*)(oBC364tmp_path)),'\56'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\135'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r228small_eiffel_directory(C)); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r306w_put_string(((T0*)ms20_364)); r306w_put_string(((T0*)ms127_470)); r306w_put_string(((T0*)ms21_364)); r306w_put_string(r228small_eiffel_directory(C)); r306w_put_string(((T0*)ms242_470)); exit(1); } /*FI*/r675read_line(((T675*)(oBC364tmp_file_read))); R=oBC762last_string; _i=r52index_of(((T52*)(oBC364system_list)),R); r675disconnect(((T675*)(oBC364tmp_file_read))); /*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) { r306w_put_string(((T0*)ms22_364)); r306w_put_string(oBC364tmp_path); r306w_put_string(((T0*)ms23_364)); _i=1; while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) { r306w_put_string(r52item(((T52*)(oBC364system_list)),_i)); r306w_put_character('\n'); _i=(_i)+(1); } } else { R=r52item(((T52*)(oBC364system_list)),_i); r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364)); r306put_string(((T306*)(oBC364echo)),R); r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470)); } /*FI*/oBC364system_name=R;} return oBC364system_name;} /*No:JVM.fz_42*/ void r228b_put_byte_string(T228* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) { r228b_put_u1(C,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/); _i=(_i)+(1); } } void r228drop_target(T228* C){ T0* _e=NULL; T0* _cpc=NULL; int _code=0; _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; {int z1=_code; if(((1007<=z1)&&(z1<=1008))){ _cpc=/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; _e=_cpc; if(NULL!=(_e))switch(((T0*)_e)->id) { case 436: case 180: case 767: case 72: case 990: case 420: case 446: case 715: case 796: case 358: case 708: case 487: case 492: case 915: case 849: case 367: case 260: case 805: case 940: case 936: case 342: case 23: case 886: case 664: case 534: case 557: case 414: case 460: case 453: case 520: case 253: case 574: case 999: case 517: case 932: case 890: case 112: case 57: case 655: case 313: case 278: case 121: case 760: case 90: case 529: case 39: case 873: break; default: _e=NULL; };/*IF*/if (((_e)==((void*)(NULL)))||(!(X662can_be_dropped(_e)))) { X662compile_to_jvm(X135target(_cpc)); /*IF*/if ((X291jvm_stack_space(/*X496*/((T0*)(((T832*)((T832*)(X135run_feature(_cpc)))))->_current_type/*4*/)))==(1)) { /*[IRF3.4opcode_pop*/r256opcode(((T256*)(oBC364code_attribute)),87,-(1)); /*]*/ } else { /*[IRF3.4opcode_pop2*/r256opcode(((T256*)(oBC364code_attribute)),88,-(2)); /*]*/ } /*FI*/} /*FI*/} else if((1009==z1)){ } else if((1011==z1)){ } else if((1010==z1)){ } else if((1015==z1)){ } else{/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_228); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ }} } void r228inside_new(T228* C,T0* a1,T0* a2){ r228stack_push(C,1010); /*X308*//*[IRF3.6put*/{T308* C1=((T308*)(oBC861stack_rf)); T0* b1=a1; int b2=(((T228*)C))->_top/*4*/; ((((T308*)C1))->_storage/*4*/)[b2]=(b1); }/*]*/ /*[IRF3.5put*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]=(a2); /*]*/ X496mapping_jvm(a1); r228pop(C); } /*No:JVM.fz_b0*/ void r228start_basic(T228* C){ /*X308*//*[IRF3.3clear*/((((T308*)(((T308*)(oBC228fields)))))->_upper)=(-(1)); /*]*/ /*X308*//*[IRF3.3clear*/((((T308*)(((T308*)(oBC228methods)))))->_upper)=(-(1)); /*]*/ r95clear(((T95*)(oBC364constant_pool))); r543clear(((T543*)(oBC364field_info))); r506clear(((T506*)(oBC364method_info))); C->_b_put_u1_count=0; } /*No:JVM.output_name*/ void r228incr_static_expression_count(T228* C){ C->_static_expression_count=((((T228*)C))->_static_expression_count/*0*/)+(1); } T0*oBC228tmp_string=NULL; /*No:JVM.args_field*/ /*No:JVM.fz_25*/ /*No:JVM.us_generating_type*/ /*No:JVM.fz_se*/ void r228push_target_as_target(T228* C){ int _code=0; _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; {int z1=_code; if((1007==z1)){ X662compile_target_to_jvm(X135target(/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/)); } else if((1008==z1)){ r228opcode_check_id_for(X135target(/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/)); } else if((1009==z1)){ /*[IRF3.4opcode_aload_0*/r256opcode(((T256*)(oBC364code_attribute)),42,1); /*]*/ } else if((1011==z1)){ /*[IRF3.4opcode_dup*/r256opcode(((T256*)(oBC364code_attribute)),89,1); /*]*/ } else if((1010==z1)){ /*[IRF3.4opcode_dup*/r256opcode(((T256*)(oBC364code_attribute)),89,1); /*]*/ } else if((1015==z1)){ /*[IRF3.4opcode_aload_1*/r256opcode(((T256*)(oBC364code_attribute)),43,1); /*]*/ } else{/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms7_228); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ }} } void r228push_check(T228* C,T0* a1){ r228stack_push(C,1008); /*[IRF3.5put*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]=(a1); /*]*/ } /*No:JVM.os2_system*/ void r228push_target(T228* C){ int _code=0; _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; {int z1=_code; if((1007==z1)){ X662compile_to_jvm(X135target(/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/)); } else if((1008==z1)){ r228opcode_check_id_for(X135target(/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/)); } else if((1009==z1)){ /*[IRF3.4opcode_aload_0*/r256opcode(((T256*)(oBC364code_attribute)),42,1); /*]*/ } else if((1011==z1)){ /*[IRF3.4opcode_dup*/r256opcode(((T256*)(oBC364code_attribute)),89,1); /*]*/ } else if((1010==z1)){ /*[IRF3.4opcode_dup*/r256opcode(((T256*)(oBC364code_attribute)),89,1); /*]*/ } else if((1015==z1)){ /*[IRF3.4opcode_aload_1*/r256opcode(((T256*)(oBC364code_attribute)),43,1); /*]*/ } else{/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms6_228); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ }} } void r228pop(T228* C){ C->_top=((((T228*)C))->_top/*4*/)-(1); } /*No:JVM.class_suffix*/ T0*oBC861stack_args=NULL; /*No:JVM.C_check_id*/ T0*oBC364manifest_string_pool=NULL; /*No:JVM.top*/ /*No:JVM.fz_74*/ /*No:JVM.b_put_u1_count*/ /*No:JVM.fz_28*/ T0*oBC228out_file_path=NULL; int r228args_field_idx(void){ int R=0; T0* _cp=NULL; _cp=oBC364constant_pool; R=r95idx_fieldref3(((T95*)_cp),r228jvm_root_class(),((T0*)ms200_470),((T0*)ms201_470)); return R; } void r228write_jvm_root_class(T228* C){ T0* _cp=NULL; int _idx=0; _cp=oBC364constant_pool; r228start_directory(C,oBC228out_file_path,(((T228*)C))->_output_name/*16*/); r7append(((T7*)(oBC228out_file_path)),((T0*)ms112_470)); r7append(((T7*)(oBC228out_file_path)),((T0*)ms40_364)); r228bfw_connect(C,oBC228out_file,oBC228out_file_path); r228start_basic(C); C->_access_flags=1025; C->_this_class_idx=r95idx_class2(((T95*)_cp),r228jvm_root_class()); C->_super_class_idx=(((T95*)((T95*)_cp)))->_idx_java_lang_object/*8*/; /*[IRF3.2args_field*/{T0* _cp=NULL; int _jaos_idx=0; int _args_idx=0; _cp=oBC364constant_pool; _args_idx=r95idx_uft8(((T95*)_cp),((T0*)ms200_470)); _jaos_idx=r95idx_uft8(((T95*)_cp),((T0*)ms201_470)); r543add(((T543*)(oBC364field_info)),9,_args_idx,_jaos_idx); }/*]*/ /*[IRF3.2jvm_define_fields*/{int _i=0; int _string_idx=0; int _name_idx=0; T0* _ms=NULL; T0* _cp=NULL; /*IF*/if (!(r269empty(((T269*)(oBC340ms_list))))) { _cp=oBC364constant_pool; _string_idx=r95idx_eiffel_string_descriptor(((T95*)_cp)); _i=(((T269*)((T269*)(oBC340ms_list))))->_upper/*12*/; while (!((_i)<(0))) { _ms=/*(IRF4.6item*/((((T269*)((T269*)(oBC340ms_list))))->_storage/*4*/)[_i]/*)*/; /*IF*/if (r340not_dummy(_ms)) { _name_idx=r95idx_uft8(((T95*)_cp),(((T805*)((T805*)_ms)))->_mapping_c/*32*/); r543add(((T543*)(oBC364field_info)),9,_name_idx,_string_idx); } /*FI*/_i=(_i)-(1); } } /*FI*/}/*]*/ r916jvm_define_fields(((T916*)(oBC364once_routine_pool))); /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { r543add(((T543*)(oBC364field_info)),9,r95idx_uft8(((T95*)_cp),((T0*)ms184_470)),r95idx_uft8(((T95*)_cp),((T0*)ms173_470))); } /*FI*/C->_current_frame=NULL; r506start(((T506*)(oBC364method_info)),9,((T0*)ms160_470),((T0*)ms161_470)); /*[IRF3.2jvm_initialize_fields*/{int _i=0; T0* _ms=NULL; T0* _ca=NULL; T0* _cp=NULL; /*IF*/if (!(r269empty(((T269*)(oBC340ms_list))))) { _cp=oBC364constant_pool; _ca=oBC364code_attribute; _i=(((T269*)((T269*)(oBC340ms_list))))->_upper/*12*/; while (!((_i)<(0))) { _ms=/*(IRF4.6item*/((((T269*)((T269*)(oBC340ms_list))))->_storage/*4*/)[_i]/*)*/; /*IF*/if (r340not_dummy(_ms)) { r256opcode_push_manifest_string(((T256*)_ca),(((T805*)((T805*)_ms)))->_to_string/*16*/); r256opcode_putstatic(((T256*)_ca),r805fieldref_idx(((T805*)_ms)),-(1)); } /*FI*/_i=(_i)-(1); } } /*FI*/}/*]*/ /*[IRF3.2jvm_initialize_fields*/{int _i=0; /*IF*/if ((/*(IRF4.6count*/((((T226*)((T226*)(oBC916flag_list))))->_upper/*8*/)+(1)/*)*/)>(0)) { _i=(((T226*)((T226*)(oBC916flag_list))))->_upper/*8*/; while (!((_i)<(0))) { /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)(oBC364code_attribute)),3,1); /*]*/ r256opcode_putstatic(((T256*)(oBC364code_attribute)),/*(IRF4.6item*/((((T226*)((T226*)(oBC916flag_list))))->_storage/*0*/)[_i]/*)*/,-(1)); _i=(_i)-(1); } } /*FI*/}/*]*/ /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { _idx=r95idx_fieldref3(((T95*)_cp),r228jvm_root_class(),((T0*)ms184_470),((T0*)ms173_470)); /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)(oBC364code_attribute)),3,1); /*]*/ r256opcode_putstatic(((T256*)(oBC364code_attribute)),_idx,-(1)); } /*FI*//*[IRF3.2opcode_return*//*[IRF3.6add_u1*/{int b1=177; r226add_last(((T226*)(oBC256code)),b1); }/*]*/ /*]*/ r506finish(((T506*)(oBC364method_info))); /*[IRF3.2jvm_define*/{T0* _up_rf=NULL; int _switch=0; int _total=0; int _count2=0; int _count1=0; T0* _dictionary2=NULL; /*IF*/if (!(/*(IRF4.7empty*/((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/)==(0)/*)*/)) { _count1=1; while (!((_count1)>((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/))) { _dictionary2=r338item(((T338*)(oBC576dictionary)),_count1); _count2=1; while (!((_count2)>((((T199*)((T199*)_dictionary2)))->_count/*40*/))) { _up_rf=r199item(((T199*)_dictionary2),_count2); /*[IRF3.3set_current_frame*/((((T228*)(((T228*)(oBC364jvm)))))->_current_frame)=(_up_rf); /*]*/ r798jvm_define(_up_rf); _total=(_total)+(1); _count2=(_count2)+(1); } _count1=(_count1)+(1); } } /*FI*/r306print_count(((T306*)(oBC364echo)),((T0*)ms2_576),_total); }/*]*/ r228finish_class(C); } /*No:JVM.fz_75*/ void r228push_se_argv(T228* C){ T0* _arg0=NULL; T0* _ca=NULL; int _i=0; int _point2=0; int _point1=0; _ca=oBC364code_attribute; r256opcode_getstatic(((T256*)_ca),r228args_field_idx(),1); _i=r228push_ith_argument(C,1); /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1); /*]*/ _point1=r256opcode_ifeq(((T256*)_ca)); /*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)_ca),4,1); /*]*/ /*[IRF3.4opcode_isub*/r256opcode(((T256*)_ca),100,-(1)); /*]*/ /*[IRF3.4opcode_aaload*/r256opcode(((T256*)_ca),50,-(1)); /*]*/ _point2=r256opcode_goto(((T256*)_ca)); r256resolve_u2_branch(_point1); /*[IRF3.4opcode_pop*/r256opcode(((T256*)_ca),87,-(1)); /*]*/ /*IF*/if (((((T228*)C))->_output_name/*16*/)!=((void*)(NULL))) { _arg0=(((T228*)C))->_output_name/*16*/; } else { _arg0=(((T590*)((T590*)(oBC364run_control))))->_root_class/*8*/; } /*FI*/_i=r95idx_string(((T95*)(oBC364constant_pool)),_arg0); r256opcode_ldc(((T256*)_ca),_i); r256resolve_u2_branch(_point2); r256opcode_java_string2eiffel_string(((T256*)_ca)); } T0*oBC861stack_target=NULL; /*No:JVM.fz_29*/ void r228mkdir(T228* C,T0* a1){ /*IF*/if (((((T228*)C))->_output_name/*16*/)==((void*)(NULL))) { C->_output_name=(((T451*)((T451*)(X291base_class_name(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/))))))->_to_string/*0*/; C->_output_name=r7twin(((T7*)((((T228*)C))->_output_name/*16*/))); r7to_lower(((T7*)((((T228*)C))->_output_name/*16*/))); } /*FI*//*IF*/if (r7has_suffix(((T7*)((((T228*)C))->_output_name/*16*/)),((T0*)ms40_364))) { /*[IRF3.6remove_suffix*/{T7* C1=((T7*)((((T228*)C))->_output_name/*16*/)); T0* b1=((T0*)ms40_364); r7remove_last(C1,(((T7*)((T7*)b1)))->_count/*4*/); }/*]*/ } /*FI*/r306put_string(((T306*)(oBC364echo)),((T0*)ms1_228)); r306put_string(((T306*)(oBC364echo)),(((T228*)C))->_output_name/*16*/); r306put_string(((T306*)(oBC364echo)),((T0*)ms2_228)); r670mkdir((((T228*)C))->_output_name/*16*/); } /*No:JVM.fz_76*/ void r228push_direct(T228* C,T0* a1){ r228stack_push(C,1007); /*[IRF3.5put*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]=(a1); /*]*/ C->_direct_call_count=((((T228*)C))->_direct_call_count/*8*/)+(1); } /*No:JVM.macintosh_system*/ /*No:JVM.fz_jvm_root*/ /*No:JVM.fz_58*/ /*No:JVM.stack_first_size*/ /*No:JVM.C_direct_call*/ /*No:JVM.fz_main*/ /*No:JVM.fatal_error*/ /*No:JVM.direct_call_count*/ int r228push_arguments(T228* C){ int R=0; T0* _fal=NULL; T0* _dyn_rf=NULL; T0* _rf=NULL; T0* _eal=NULL; T0* _cpc=NULL; int _code=0; _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; {int z1=_code; if(((1007<=z1)&&(z1<=1008))){ _cpc=/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; _eal=X135arguments(_cpc); /*IF*/if ((_eal)!=((void*)(NULL))) { _rf=X135run_feature(_cpc); _fal=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/); R=r431compile_to_jvm(((T431*)_eal),_fal); } /*FI*/} else if((1009==z1)){ _rf=/*X308*/((T0*)r308item(((T308*)(oBC861stack_static_rf)),(((T228*)C))->_top/*4*/)); _dyn_rf=/*X308*/((T0*)r308item(((T308*)(oBC861stack_rf)),(((T228*)C))->_top/*4*/)); _fal=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/); /*IF*/if ((_fal)!=((void*)(NULL))) { R=r31jvm_switch_push(((T31*)_fal),/*X496*/((T0*)(((T832*)((T832*)_dyn_rf)))->_arguments/*20*/)); } /*FI*/} else if((1011==z1)){ } else if((1010==z1)){ _cpc=/*(IRF4.6item*/((((T569*)((T569*)(oBC861stack_cpc))))->_storage/*0*/)[(((T228*)C))->_top/*4*/]/*)*/; _eal=X135arguments(_cpc); /*IF*/if ((_eal)!=((void*)(NULL))) { _rf=/*X308*/((T0*)r308item(((T308*)(oBC861stack_rf)),(((T228*)C))->_top/*4*/)); _fal=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/); R=r431compile_to_jvm(((T431*)_eal),_fal); } /*FI*/} else if((1015==z1)){ R=r228push_ith_argument(C,1); } else{/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_228); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ }} return R; } int r228idx_bad_target(T0* a1){ int R=0; T0* _sp=NULL; r7copy(((T7*)(oBC228tmp_string)),((T0*)ms11_228)); _sp=X662start_position(a1); /*IF*/if ((_sp)!=((void*)(NULL))) { r627append_in(((T627*)_sp),oBC228tmp_string); } /*FI*/R=r95idx_string(((T95*)(oBC364constant_pool)),oBC228tmp_string); return R; } void r228push_switch(T228* C,T0* a1,T0* a2){ r228stack_push(C,1009); /*X308*//*[IRF3.6put*/{T308* C1=((T308*)(oBC861stack_rf)); T0* b1=a1; int b2=(((T228*)C))->_top/*4*/; ((((T308*)C1))->_storage/*4*/)[b2]=(b1); }/*]*/ /*X308*//*[IRF3.6put*/{T308* C1=((T308*)(oBC861stack_static_rf)); T0* b1=a2; int b2=(((T228*)C))->_top/*4*/; ((((T308*)C1))->_storage/*4*/)[b2]=(b1); }/*]*/ } /*No:JVM.C_inside_twin*/ void r228b_put_cpc(T228* C,T0* a1){ T0* _rf=NULL; int _switch=0; T0* _running=NULL; T0* _target_type=NULL; T0* _target=NULL; _target=X135target(a1); _target_type=X291run_type(X662result_type(_target)); /*IF*/if (X291is_expanded(_target_type)) { r228push_direct(C,a1); X496mapping_jvm(X135run_feature(a1)); r228pop(C); } else if (X662is_current(_target)) { r228push_direct(C,a1); X496mapping_jvm(X135run_feature(a1)); r228pop(C); } else if (X662is_manifest_string(_target)) { r228push_direct(C,a1); X496mapping_jvm(X135run_feature(a1)); r228pop(C); } else { _running=(((T355*)((T355*)(X291run_class(_target_type)))))->_running/*12*/; /*IF*/if ((r396count(((T396*)_running)))==(1)) { r228push_check(C,a1); _rf=X135run_feature(a1); _rf=r355dynamic(((T355*)(r396first(((T396*)_running)))),_rf); X496mapping_jvm(_rf); r228pop(C); } else { C->_switch_count=((((T228*)C))->_switch_count/*12*/)+(1); r798jvm_mapping(a1); } /*FI*/} /*FI*/} void r228stack_overflow(T228* C){ T0* _rtma=NULL; T0* _rtm=NULL; T0* _rf=NULL; int _i=0; /*[IRF3.6append*/{T0* b1=((T0*)ms1_861); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ _i=((((T228*)C))->_top/*4*/)-(1); while (!((_i)<(0))) { _rf=/*X308*/((T0*)r308item(((T308*)(oBC861stack_rf)),_i)); /*IF*/if ((_rf)!=((void*)(NULL))) { r683add_position(X496start_position(_rf)); _rtm=X291run_time_mark(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/)); /*IF*/if ((_rtma)==((void*)(NULL))) { {T927*n=malloc(sizeof(*n)); *n=M927; r927with_capacity(n,(((T228*)C))->_top/*4*/); _rtma=(T0*)n; } r927add_last(((T927*)_rtma),_rtm); /*[IRF3.6append*/{T0* b1=_rtm; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } else if (r927fast_has(((T927*)_rtma),_rtm)) { } else { r927add_last(((T927*)_rtma),_rtm); /*[IRF3.6append*/{T0* b1=((T0*)ms2_861); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=_rtm; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } /*FI*/} /*FI*/_i=(_i)-(1); } r683fatal_error(((T683*)(oBC364eh)),((T0*)ms3_861)); } /*No:JVM.put_magic*/ T0*oBC431isa_dca_inline_memory=NULL; int r431isa_dca_inline(T431* C,T0* a1,T0* a2){ int R=0; int _r=0; int _i=0; T0* _e=NULL; T0* _args=NULL; T0* _relay_args=NULL; _relay_args=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/); _args=/*X496*/((T0*)(((T832*)((T832*)a2)))->_arguments/*20*/); R=1; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/); r353force(((T353*)(oBC431isa_dca_inline_memory)),0,_i); /*[IRF3.6clear_all*/{T353* C1=((T353*)(oBC431isa_dca_inline_memory)); int __value=0; /*[IRF3.6set_all_with*/{T353* C2=C1; int c1=__value; r593set_all_with((((T353*)C2))->_storage/*0*/,c1,((((T353*)C2))->_upper/*8*/)-((((T353*)C2))->_lower/*12*/)); }/*]*/ }/*]*/ while (!((!(R))||((_i)==(0)))) { _e=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),_i)); _r=X662isa_dca_inline_argument(_e); {int z1=_r; if((0==z1)){ R=0; } else if((-1==z1)){ /*IF*/if (X291is_expanded(r31type(((T31*)_args),_i))) { R=X291is_expanded(X662result_type(_e)); } else { R=X291is_reference(X662result_type(_e)); } /*FI*/} else{/*[IRF3.6put*/{T353* C1=((T353*)(oBC431isa_dca_inline_memory)); int b1=1; int b2=_r; ((((T353*)C1))->_storage/*0*/)[(b2)-((((T353*)C1))->_lower/*12*/)]=(b1); }/*]*/ /*IF*/if (X291is_reference(r31type(((T31*)_relay_args),_r))) { /*IF*/if (X291is_reference(r31type(((T31*)_args),_i))) { R=X291is_reference(X662result_type(_e)); } else { R=0; } /*FI*/} else if (X291is_expanded(r31type(((T31*)_args),_i))) { R=X291is_expanded(X662result_type(_e)); } else { R=0; } /*FI*/}} _i=(_i)-(1); } /*IF*/if (R) { _i=X496arg_count(a1); while (!((!(R))||((_i)==(0)))) { R=r353item(((T353*)(oBC431isa_dca_inline_memory)),_i); _i=(_i)-(1); } } /*FI*/return R; } int r431is_like_argument(T431* C,T0* a1,T0* a2,T0* a3){ int R=0; T0* _ot=NULL; T0* _tla=NULL; _tla=a3; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { R=1; _ot=X662result_type(r431expression(C,/*(IRF4.6rank*/(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_rank/*20*//*)*/)); /*IF*/if (!(X291is_a(X291run_type(a2),X291run_type(_ot)))) { r683add_position(X662start_position(a1)); r431error(X291start_position(a3),((T0*)ms12_431)); } /*FI*/} /*FI*/return R; } int r431compile_to_jvm_ith(T431* C,T0* a1,int a2){ int R=0; T0* _ft=NULL; T0* _e=NULL; _e=r431expression(C,a2); _ft=X291run_type(r31type(((T31*)a1),a2)); R=X662compile_to_jvm_into(_e,_ft); return R; } void r431match_with(T431* C,T0* a1){ T0* _ft=NULL; T0* _at=NULL; T0* _e=NULL; int _i=0; T0* _fal=NULL; _fal=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/); /*IF*/if ((_fal)==((void*)(NULL))) { r683add_position(X496start_position(a1)); r431error(r431start_position(C),((T0*)ms14_431)); } /*FI*//*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)_fal)))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(r431count(C)))) { r683add_position((((T31*)((T31*)_fal)))->_start_position/*4*/); r431error(r431start_position(C),((T0*)ms14_431)); } /*FI*/_i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/); while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _e=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),_i)); _at=X662result_type(_e); _ft=r31type(((T31*)_fal),_i); /*IF*/if (X662is_void(_e)) { /*IF*/if (X291is_expanded(_ft)) { r683add_position(X662start_position(_e)); r431error(X291start_position(_ft),((T0*)ms2_431)); } /*FI*/} else if (X291is_like_current(_ft)) { /*IF*/if (X662is_current(_e)) { } else if (X291is_a(X291run_type(_at),X291run_type(_ft))) { /*IF*/if (X291is_expanded(X291run_type(_at))) { } else if (X291is_a(X291run_type(_ft),X291run_type(_at))) { } else { r683add_position(X662start_position(_e)); r431error(X291start_position(_ft),((T0*)ms13_431)); } /*FI*/} else { r683add_position(X662start_position(_e)); r431error(X291start_position(_ft),((T0*)ms13_431)); } /*FI*/} else if (X291is_like_feature(_ft)) { /*IF*/if (X291is_a(X291run_type(_at),X291run_type(_ft))) { } else { r683add_position(X662start_position(_e)); r431error(X291start_position(_ft),((T0*)ms3_431)); } /*FI*/} else if (r431is_like_argument(C,_e,_at,_ft)) { } else if (X291is_a(X291run_type(_at),X291run_type(_ft))) { } else { r683print_as_error(((T683*)(oBC364eh))); r683add_position(X291start_position(_ft)); r431error(X662start_position(_e),((T0*)ms4_431)); } /*FI*/_at=X291run_type(_at); _ft=X291run_type(_ft); /*IF*/if (X291is_expanded(_ft)) { /*IF*/if (X291is_expanded(_at)) { } else { X291used_as_reference(_ft); } /*FI*/} else if (X291is_expanded(_at)) { X291used_as_reference(_at); } /*FI*/_i=(_i)-(1); } } /*No:EFFECTIVE_ARG_LIST.make*/ /*No:EFFECTIVE_ARG_LIST.nb_errors*/ T0* r431expression(T431* C,int a1){ T0* R=NULL; R=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),a1)); return R; } T0* r431start_position(T431* C){ T0* R=NULL; R=X662start_position(/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),1))); return R; } void r431compile_to_jvm_old(T431* C){ int _i=0; /*IF*/if (((((T431*)C))->_list/*0*/)!=((void*)(NULL))) { _i=1; while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/)))) { X662compile_to_jvm_old(/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),_i))); _i=(_i)+(1); } } /*FI*/} T0* r431to_runnable(T431* C,T0* a1){ T0* R=NULL; T0* _e2=NULL; T0* _e1=NULL; int _i=0; /*IF*/if (((((T431*)C))->_current_type/*4*/)==((void*)(NULL))) { C->_current_type=a1; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/); while (!((_i)==(0))) { _e1=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),_i)); _e2=X662to_runnable(_e1,(((T431*)C))->_current_type/*4*/); /*IF*/if ((_e2)==((void*)(NULL))) { r431error(X662start_position(_e1),((T0*)ms5_431)); } else if ((_e1)!=((void*)(_e2))) { /*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T431*)C))->_list/*0*/)); T0* b1=_e2; int b2=_i; ((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)-(1); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else if ((X291run_class(a1))==((void*)(r431run_class(C)))) { R=(T0*)C; } else { {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(X96twin((((T431*)C))->_list/*0*/)); /*]*/ R=(T0*)n; } R=r431to_runnable(((T431*)R),a1); } /*FI*/return R; } int r431is_static(T431* C){ int R=0; int _i=0; R=1; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/); while (!((!(R))||((_i)==(0)))) { R=X662is_static(r431expression(C,_i)); _i=(_i)-(1); } return R; } /*No:EFFECTIVE_ARG_LIST.em1*/ /*No:EFFECTIVE_ARG_LIST.list*/ /*No:EFFECTIVE_ARG_LIST.em2*/ /*No:EFFECTIVE_ARG_LIST.current_type*/ T0* r431run_class(T431* C){ T0* R=NULL; R=X291run_class((((T431*)C))->_current_type/*4*/); return R; } int r431compile_to_jvm(T431* C,T0* a1){ int R=0; int _up=0; int _i=0; _i=1; _up=r431count(C); while (!((_i)>(_up))) { R=(R)+(r431compile_to_jvm_ith(C,a1,_i)); _i=(_i)+(1); } return R; } int r431is_pre_computable(T431* C){ int R=0; int _i=0; _i=r431count(C); R=1; while (!((!(R))||((_i)==(0)))) { R=X662is_pre_computable(r431expression(C,_i)); _i=(_i)-(1); } return R; } int r431use_current(T431* C){ int R=0; int _i=0; _i=1; while (!(((_i)>(r431count(C)))||(R))) { R=X662use_current(r431expression(C,_i)); _i=(_i)+(1); } return R; } void r431error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } int r431count(T431* C){ int R=0; R=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/); return R; } T0* r431first(T431* C){ T0* R=NULL; R=X96first((((T431*)C))->_list/*0*/); return R; } void r431afd_check(T431* C){ int _i=0; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/); while (!((_i)==(0))) { X662afd_check(/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),_i))); _i=(_i)-(1); } } T0* r873add_comment(T873* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r873to_integer(T873* C){ int R=0; r873error((((T873*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } int r873is_a(T873* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T873*)C))->_result_type/*24*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T873*)C))->_start_position/*16*/); r873error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } void r873name_clash(T873* C){ T0* _rc=NULL; T0* _rf=NULL; /*IF*/if (r605has_feature(((T605*)(r873base_class_written(C))),(((T873*)C))->_to_string/*12*/)) { _rc=X291run_class((((T873*)C))->_current_type/*8*/); _rf=r355get_feature_with(((T355*)_rc),(((T873*)C))->_to_string/*12*/); /*IF*/if ((_rf)!=((void*)(NULL))) { r683add_position(X496start_position(_rf)); } /*FI*/r873error((((T873*)C))->_start_position/*16*/,((T0*)ms1_873)); } /*FI*/} /*No:ARGUMENT_NAME1.is_current*/ int r873jvm_branch_if_false(T873* C){ int R=0; r873compile_to_jvm(C); R=r256opcode_ifeq(((T256*)(oBC364code_attribute))); return R; } T0* r873written_in(T873* C){ T0* R=NULL; T0* _sp=NULL; _sp=(((T873*)C))->_start_position/*16*/; /*IF*/if ((_sp)!=((void*)(NULL))) { R=(((T627*)((T627*)_sp)))->_base_class_name/*0*/; } /*FI*/return R; } /*No:ARGUMENT_NAME1.static_value*/